Type: entity
Confidence: 0.95
Created: 2026-04-17
Updated: 2026-04-17
Tags: 技术研究历史计算理论

FORTRAN 编译器论文

概述

John Backus 等人于1957年发表的《The FORTRAN Automatic Coding System》,是编程语言史上第一篇系统描述高级语言编译器设计的论文,证明了编译生成的代码效率可达手写汇编的90%以上。

关键内容

论文信息

项目 内容
标题 The FORTRAN Automatic Coding</td> </tr> <tr> <td><strong>作者</strong></td> <td>John W. Backus, R.J. Beeber, S. Best 等13人</td> </tr> <tr> <td><strong>发表时间</strong></td> <td>1957年2月</td> </tr> <tr> <td><strong>Venue</strong></td> <td>Proceedings of the Western Joint Computer Conference (WJCC), pp. 188-198</td> </tr> </tbody> </table> <h3 id="_4">六阶段编译器架构</h3> <ol> <li><strong>原始分析与中间表示生成</strong> — 扫描源代码,转换为三元组表示</li> <li><strong>公共子表达式消除</strong> — 识别重复[[计算的子表达式
  • 循环分析 — 识别循环结构,确定嵌套深度
  • 寄存器分配 — 智能分配 IBM 704 的三个索引寄存器
  • 指令合并与优化 — 强度削减、利用特殊指令格式
  • 最终代码生成与组装 — 生成可执行目标代码
  • 性能数据

    FORTRAN 生成的代码效率通常达到手写汇编的 90% 以上,在某些以循环为主的科学计算程序中甚至优于普通程序员的手写汇编。

    工程规模

    编译器由约 18,000 行 IBM 704 汇编代码组成,是当时最大的软件项目之一。开发耗时近三年(1954年秋至1957年春),团队高峰约20人。

    历史影响

    • 彻底击碎了"编译器不可能高效"的神话
    • 1958年底超过半数 IBM 704 用户开始使用 FORTRAN
    • 催生了编译器科学这一全新学科
    • Backus 后来因 FORTRAN 和 BNF 的贡献获得1977年图灵

    来源

    • raw/books/计算机科学/04-backus-fortran.md

    相关